//获取单个城市信息返回的数据格式
export interface cityInfo_format {
  id: number;
  name: string;
  abbr: string;
  area_code: string;
  sort: number;
  latitude: number;
  longitude: number;
  is_map: boolean;
  pinyin: string;
}
//获取所有城市信息返回的数据格式
export interface cityAllInfo_format {
  [prop: string]: cityInfo_format[];
}
//搜索地址返回的数据格式
export interface search  {
  name: string;
  address: string;
  latitude: number;
  longitude: number;
  geohash: string;
};
//定位信息
export interface Location_format {
  address: string;
  city: string;
  geohash: string;
  latitude: string;
  longitude: string;
  name: string;
}
//获取食物种类返回的数据格式
export interface foodKind_format{
  id: number;
  is_in_serving: boolean;
  description: string;
  title: string;
  image_url: string;
  [prop: string]: any;
}[];
//获取商家列表的请求参数格式
export interface Restaurant_format  {
  latitude: number;
  longitude: number;
  offset?: number;
  limit?: number;
  restaurant_category_id?: number;
  order_by?: number;
  delivery_mode?: unknown;
  support_ids?: number[];
  restaurant_category_ids?: number[];
};
//获取商家列表返回的数据格式
export interface ShopList_format {
  name: string;
  address: string;
  id: number;
  latitude: number;
  longitude: number;
  [props: string]: any;
}[];

//请求食物种类返回的数据格式
export interface subCategories_format  {
  count: number;
  id: number;
  image_url: string;
  level: number;
  name: string;
  _id: string;
};

export interface shopCategory_format  {
  count: number;
  id: number;
  image_url: string;
  level: number;
  name: string;
  sub_categories: subCategories_format[];
};
//请求商家配送信息返回的数据格式
export interface distributions_format  {
  color: string;
  id: number;
  is_solid: boolean;
  text: string;
  __v: number;
};
//请求商家活动属性返回的数据格式
export interface activityAttr_format  {
  description: string;
  icon_color: string;
  icon_name: string;
  id: number;
  name: string;
  ranking_weight: number;
  __v: number;
  status?: boolean;
};

//请求商家详情返回的数据格式
export interface Support {
  description: string;
  icon_color: string;
  icon_name: string;
  id: number;
  name: string;
  _id: string;
}

export interface Piecewise_agent_fee {
  tips: string;
}

export interface License {
  catering_service_license_image: string;
  business_license_image: string;
}

export interface Identification {
  registered_number: string;
  registered_address: string;
  operation_period: string;
  licenses_scope: string;
  licenses_number: string;
  licenses_date: string;
  legal_person: string;
  identificate_date?: any;
  identificate_agency: string;
  company_name: string;
}

export interface Delivery_mode {
  color: string;
  id: number;
  is_solid: boolean;
  text: string;
}

export interface Activity {
  icon_name: string;
  name: string;
  description: string;
  icon_color: string;
  id: number;
  _id: string;
}

export interface ShopDetail_format {
  name: string;
  address: string;
  id: number;
  latitude: number;
  longitude: number;
  location: number[];
  phone: string;
  category: string;
  supports: Support[];
  status: number;
  recent_order_num: number;
  rating_count: number;
  rating: number;
  promotion_info: string;
  piecewise_agent_fee: Piecewise_agent_fee;
  opening_hours: string[];
  license: License;
  is_new: boolean;
  is_premium: boolean;
  image_path: string;
  identification: Identification;
  float_minimum_order_amount: number;
  float_delivery_fee: number;
  distance: string;
  order_lead_time: string;
  description: string;
  delivery_mode: Delivery_mode;
  activities: Activity[];
}
//获取餐馆食物列表返回的数据格式
export interface Activity {
  image_text_color: string;
  icon_color: string;
  image_text: string;
}

 interface Specfood {
  name: string;
  item_id: number;
  sku_id: number;
  food_id: number;
  restaurant_id: number;
  _id: string;
  specs: any[];
  stock: number;
  checkout_mode: number;
  is_essential: boolean;
  recent_popularity: number;
  sold_out: boolean;
  price: number;
  promotion_stock: number;
  recent_rating: number;
  packing_fee: number;
  pinyin_name: string;
  original_price: number;
  specs_name: string;
}

 interface Attribute {
  icon_color: string;
  icon_name: string;
}

export interface Food {
  name: string;
  image_path: string;
  activity: Activity;
  restaurant_id: number;
  category_id: number;
  item_id: number;
  tips: string;
  _id: string;
  specfoods: Specfood[];
  satisfy_rate: number;
  satisfy_count: number;
  attributes: Attribute[];
  is_essential: boolean;
  server_utc: string;
  specifications: any[];
  rating_count: number;
  month_sales: number;
  description: string;
  attrs: any[];
  display_times: any[];
  pinyin_name: string;
  is_featured: number;
  rating: number;
}

export interface ShopDetail_format {
  name: string;
  description: string;
  id: number;
  restaurant_id: number;
  foods: Food[];
  type: number;
  icon_url: string;
  is_selected: boolean;
  __v: number;
}
//pinia常用的信息(搜索历史,位置等)库的数据格式
 interface AddressInfo {
  address: string;
  geohash: string;
  latitude: number;
  longitude: number;
  name: string;
}
export interface piniaStateType_format {
  latitude: number;
  longitude: number;
  foodSearchList: string[];
  addressHistory: AddressInfo[];
  nearByAddress: AddressInfo;
  geohash: string;
}

//pinia购物车列表数据格式
export interface Food_id {
  num: number;
  id: number;
  name: string;
  price: number;
  specs: string;
  packing_fee: number;
  sku_id: number;
  stock: number;
}

export interface Item_id {
  [shopid: string]: Food_id;
}

export interface Cate {
  [shopid: string]: Item_id;
}

export interface Shopid {
  [shopid: string]: Cate;
}

export interface CartList {
  [shopid: string]: Shopid;
}

export interface Shop {
  cartList: CartList;
}

export interface ShopCartItem_format {
  num: number;
  id: number;
  name: string;
  price: number;
  specs: string;
  packing_fee: number;
  sku_id: number;
  stock: number;
  category_id: number;
  item_id: number;
}
//获取饭店总评价信息返回的数据格式
export interface restaurantRating_format {
  compare_rating: number;
  deliver_time: number;
  food_score: number;
  order_rating_amount: number;
  overall_score: number;
  service_score: number;
}
//获取饭店评价分类返回的数据格式
export interface restaurantRatingCategory_format {
  name: string;
  _id: string;
  unsatisfied: boolean;
  count: number;
}
//获取用户评价信息返回的数据格式
export interface Item_rating {
  food_id: number;
  food_name: string;
  _id: string;
  is_valid: number;
  image_hash: string;
}

export interface userRating_format {
  rated_at: string;
  rating_star: number;
  rating_text: string;
  time_spent_desc: string;
  _id: string;
  username: string;
  tags: any[];
  item_ratings: Item_rating[];
  highlights: any[];
  avatar: string;
}

//请求用户信息返回数据格式
export interface User_format {
  username: string;
  user_id: number;
  id: number;
  point: number;
  mobile: string;
  is_mobile_valid: boolean;
  is_email_valid: boolean;
  is_active: number;
  gift_amount: number;
  email: string;
  delivery_card_expire_days: number;
  current_invoice_id: number;
  current_address_id: number;
  brand_member_new: number;
  balance: number;
  avatar: string;
  __v: number;
}

//请求退出登录返回数据格式
export interface LogOut_format {
  status: number;
  message: string;
}
//请求修改密码返回数据格式
export interface successInfo_format {
  status: number;
  success: string;
}

//获取验证码返回的数据格式
export interface Auth_format {
  status: number;
  code: string;
}

//存储用户信息的pinia库的数据格式
export interface UserStoreType_format {
  user_id: number;
  userinfo: User_format;
  selectAddress: UserAddress_format;
  remark: string;
}
//请求个人收货地址返回数据格式
export interface UserAddress_format {
  id: number;
  address: string;
  phone: string;
  is_valid: number;
  created_at: string;
  phone_bk: string;
  name: string;
  st_geohash: string;
  address_detail: string;
  poi_type: number;
  sex: number;
  city_id: number;
  tag: string;
  agent_fee: number;
  deliver_amount: number;
  is_deliverable: boolean;
  phone_had_bound: boolean;
  is_brand_member: boolean;
}
//订单验证是否符合要求的请求参数
export interface Check_format {
  quantity: number;
  id: number;
  name: string;
  price: number;
  specs: string;
  packing_fee: number;
  sku_id: number;
  stock: number;
  attrs: [];
  extra: {};
}
//订单验证是否符合要求的返回数据格式
export interface Payment {
  description: string;
  disabled_reason: string;
  id: number;
  name: string;
  select_state: number;
  _id: string;
  promotion: any[];
  is_online_payment: boolean;
}

export interface Invoice {
  status_text: string;
  is_available: boolean;
}

export interface Support {
  description: string;
  icon_color: string;
  icon_name: string;
  id: number;
  name: string;
  _id: string;
}

export interface Piecewise_agent_fee {
  tips: string;
}

export interface License {
  catering_service_license_image: string;
  business_license_image: string;
}

export interface Identification {
  registered_number: string;
  registered_address: string;
  operation_period: string;
  licenses_scope: string;
  licenses_number: string;
  licenses_date: string;
  legal_person: string;
  identificate_date?: any;
  identificate_agency: string;
  company_name: string;
}

export interface Delivery_mode {
  color: string;
  id: number;
  is_solid: boolean;
  text: string;
}

export interface Activity {
  icon_name: string;
  name: string;
  description: string;
  icon_color: string;
  id: number;
  _id: string;
}

export interface Restaurant_info {
  _id: string;
  name: string;
  address: string;
  id: number;
  latitude: number;
  longitude: number;
  location: number[];
  phone: string;
  category: string;
  __v: number;
  supports: Support[];
  status: number;
  recent_order_num: number;
  rating_count: number;
  rating: number;
  promotion_info: string;
  piecewise_agent_fee: Piecewise_agent_fee;
  opening_hours: string[];
  license: License;
  is_new: boolean;
  is_premium: boolean;
  image_path: string;
  identification: Identification;
  float_minimum_order_amount: number;
  float_delivery_fee: number;
  distance: string;
  order_lead_time: string;
  description: string;
  delivery_mode: Delivery_mode;
  activities: Activity[];
}

export interface Extra {
  description: string;
  _id: string;
  type: number;
  quantity: number;
  price: number;
  name: string;
}

export interface Group_format {
  id: number;
  name: string;
  packing_fee: number;
  price: number;
  quantity: number;
  sku_id: number;
  stock: number;
  _id: string;
  specs: string[];
  new_specs: [];
  extra: [];
  attrs: any[];
}

export interface Cart {
  id: number;
  deliver_amount: number;
  is_deliver_by_fengniao: boolean;
  original_total: number;
  phone: string;
  restaurant_id: number;
  restaurant_info: Restaurant_info;
  restaurant_minimum_order_amount: number;
  total: number;
  service_fee_explanation: number;
  restaurant_status: number;
  promise_delivery_time: number;
  ontime_status: number;
  must_pay_online: number;
  must_new_user: number;
  is_ontime_available: number;
  is_online_paid: number;
  is_address_too_far: boolean;
  extra: Extra[];
  groups: Group_format[][];
}

export interface CheckReturnData_format {
  __v: number;
  id: number;
  delivery_reach_time: string;
  sig: string;
  _id: string;
  is_support_ninja: number;
  is_support_coupon: boolean;
  deliver_times_v2: any[];
  deliver_times: any[];
  payments: Payment[];
  invoice: Invoice;
  cart: Cart;
}
//请求备注信息返回数据格式
export interface Remark_format {
  remarks: string[][];
}

//下单请求返回的数据格式
export interface PlaceOrder_format {
  status: number;
  success: string;
  need_validation: boolean;
}
//请求订单列表返回的数据格式
export interface Timeline_node {
  in_processing: number;
  actions: any[];
}

export interface Status_bar {
  color: string;
  image_type: string;
  sub_title: string;
  title: string;
}

export interface Packing_fee {
  price: number;
  quantity: number;
  name: string;
  category_id: number;
}

export interface Group {
  name: string;
  price: number;
  quantity: number;
  _id: string;
  specs: string[];
  new_specs: any[];
  attrs: any[];
}

export interface Deliver_fee {
  quantity: number;
  price: number;
  name: string;
  category_id: number;
}

export interface Basket {
  pindan_map: any[];
  packing_fee: Packing_fee;
  group: Group[][];
  extra: any[];
  deliver_fee: Deliver_fee;
  abandoned_extra: any[];
}

export interface OrderInfo_format {
  restaurant_id: number;
  restaurant_image_url: string;
  restaurant_name: string;
  formatted_created_at: string;
  order_time: number;
  time_pass: number;
  total_amount: number;
  total_quantity: number;
  unique_id: number;
  id: number;
  user_id: number;
  address_id: number;
  top_show: number;
  timeline_node: Timeline_node;
  status_code: number;
  status_bar: Status_bar;
  restaurant_type: number;
  remind_reply_count: number;
  rated_point: number;
  pay_remain_seconds: number;
  operation_upload_photo: number;
  operation_rebuy: number;
  operation_rate: number;
  operation_pay: number;
  operation_confirm: number;
  is_pindan: number;
  is_new_pay: number;
  is_deletable: number;
  is_brand: number;
  basket: Basket;
}
//获取订单详情返回的数据格式
export interface OrderDetail_format {
  addressDetail: string;
  consignee: string;
  deliver_time: string;
  isNew: boolean;
  pay_method: string;
  phone: string;
  _doc:OrderInfo_format
}